package com.cheng.io.output;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.Date;

/**
 * 对象字节输出流
 * ObjectOutputStream是一个包装流
 * 将Java对象序列化到文件/网络中
 * 序列化（Serial）：将对象拆分成字节序列的过程
 * 反序列化（DeSerial）：将字节序列组装成对象的过程
 */
public class ObjectOutputStreamTest01 {
    public static void main(String[] args) {
        try (
                ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("io/resources/object"));
        ) {
            //准备写入的对象
            Date date = new Date();
            //写入对象
            objectOutputStream.writeObject(date);

            //刷新管道中的数据
            objectOutputStream.flush();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
